package com.tydic.workflow.service;

import java.util.Map;
import java.util.Set;

public interface IAuditService {
    /**
     * 提交流程
     *
     * @param processInstanceId 流程ID
     * @param pass              是否通过
     */
    void submit(String processInstanceId, boolean pass);

    /**
     * 提交流程
     *
     * @param processInstanceId 流程ID
     * @param comment           处理意见
     * @param pass              是否通过
     */
    void submit(String processInstanceId, String comment, boolean pass);


    /**
     * 提交流程
     *
     * @param processInstanceId 流程ID
     * @param variables         流程参数
     * @param comment           处理意见
     * @param pass              是否通过
     */
    void submit(String processInstanceId, Map<String, Object> variables, String comment, boolean pass);


    /**
     * 流程是否完成
     *
     * @param processInstanceId 流程ID
     * @return 是否完成
     */
    boolean isFinished(String processInstanceId);

    /**
     * 流程是否完成
     *
     * @param processInstanceIds 流程ID集合
     * @return 是否完成
     */
    Map<String, Boolean> isFinished(Set<String> processInstanceIds);
}
